大家好噢,假日想出去玩的心太雀躍了~~~
只有小練習下下,練著練著翻到蠻有確的單元遞迴,
因為可以練到一個很有趣的程式!
大樂透開獎程式 (說好不可以找兌獎)
先讓小菜鳥說明一下下蝦密是遞迴,
如果方法(method)中有一行程是敘述在呼叫自己的方法時,
稱為遞迴(Recursive),使用遞迴會不斷呼叫方法,
這樣會變成無窮迴圈,必須在遞迴的方法中設定條件來結束方法,
遞迴常常使用在具有規則性的運算程式,
例如:最大公因數、排列、組合、階層...等等。
以下就來看一下有趣的開獎程式,我都想自己簽了....
public class iRonManLotto {
static void getRnd(int[] vArray, int min, int max, int num) {
int max_dim, rem_num, choice;
max_dim = max - min + 1;
int[] t = new int[max_dim];
for (int i = 0; i <= max_dim - 1; i++) {
t[i] = min + i;
}
rem_num = max_dim;
for (int i = 0; i <= num - 1; i++) {
choice = (int) (Math.random() * rem_num);
vArray[i] = t[choice];
for (int j = choice; j < rem_num - 1; j++) {
t[j] = t[j + 1];
}
rem_num--;
}
}
public static void main(String[] args) {
int[] lot = new int[7];
getRnd(lot, 1, 49, 7);
System.out.println("本期大樂透開獎號碼如下:");
for (int i = 0; i < 6; i++)
System.out.print(" " + lot[i]);
System.out.print("\n特別號: " + lot[6]);
System.out.print("\n祝您中大獎!");
}
}
小菜鳥在這祝大家週末愉快!